package com.example.demo.testpull;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.hxk.sdk.client.HxkClient;

import java.util.HashMap;

/**
 * 测试拉取数据
 * <p>
 * 备注：有数据的统一时间段 2018-11-29 ~ 2021-07-19，各项数据的检测时间有差异，渠道可以自行测试具体时间段
 *
 * @author JSON_wangqiang
 * @since 2021/7/16 14:52
 */
public class TestPullUtil {
    /**
     * 渠道的私钥(需替换正确key)
     */
    private final static String CHANNEL_PRIVATE_KEY = "CHANNEL_PRIVATE_KEY";
    /**
     * 和信康公司分配的公钥(需替换正确key)
     */
    private final static String HXK_PUBLIC_KEY = "HXK_PUBLIC_KEY";
    /**
     * 渠道商的渠道号，有和信康公司来分配(需替换正确channel)
     */
    private final static String CHANNEL = "CHANNEL";
    /**
     * 设置接口请求地址(需替换正确baseUrl)
     */
    private final static String BASE_URL = "BASE_URL";

    public static void main(String[] args) {
        // 调用例子演示： 不同的接口根据不同的参数调用即可，方法封装了内部加密解密签名生成和校验等过程,渠道接入只需要传入不同的业务参数即可。
        // 1.生成基本业务参数Map，这些参数在传输过程中被加密处理
        HashMap<String, Object> businessParams = new HashMap<>(5);
        businessParams.put("startDate", 1543492211000L);
        businessParams.put("endDate", 1545615962000L);
        businessParams.put("pageNo", 1);
        businessParams.put("pageSize", 20);
        // 血氧接口
        String interfaceUrl = "/api/b/v2/oxygen/list";
        String requestUrl = BASE_URL + interfaceUrl;
        // 3. 调用方法获取数据，返回JSONObject,包含返回数据
        JSONObject returnJson = HxkClient.getData(CHANNEL, businessParams, requestUrl, CHANNEL_PRIVATE_KEY, HXK_PUBLIC_KEY);
        System.out.println("解密后数据::::" + JSON.toJSONString(returnJson));
    }
}